//题目：
//给定两个数字L，R，判断[L, R]区间内，出现了多少个2
//如[2, 22] -> 2 12 20 21 22 -> 6个
//1 < L, R < 10000

#include <iostream>
#include <string>
using namespace std;

int main() {
    int L = 0, R = 0;
    cin >> L >> R;
    int i = L, cnt = 0;
    std::string tmp;
    while (i <= R) {
        tmp = to_string(i);
        int begin = 0, end = tmp.size();
        while (begin < end) {
            if (tmp[begin] == '2') ++cnt; 
            ++begin;
        }
        ++i;
    }
    cout << cnt << endl;
    return 0;
}

//这题我的思路是：
//因为L R的大小也就是1~10000，所以完全可以开辟一个string
//然后每遍历一个数字，就把数字转为字符串，统计字符2的次数！







//version 2 题解视频 (注意ACM模式下，注意数据范围)
//题解用的方法就是，遍历每一个数字，然后进行数字拆分！ 其实我的思路也差不多，只不过我转化为字符串用了点空间！

int main() {
    int L = 0, R = 0;
    cin >> L >> R;
    int cnt = 0;
    for(int i = L; i <= R; ++i){
        //1.拿出来一个数 -> i
        int num = i;
        //2.进行数组拆分 + 统计2的出现次数
        while(num){
            if(num % 10 == 2) ++cnt;
            num /= 10;
        }
    }
    cout << cnt << endl;
    return 0;
}